import { defineConfig, loadEnv } from 'vite'
import vue from '@vitejs/plugin-vue2'
import path from 'path'

export default defineConfig(({ mode }) => {
  const env = loadEnv(mode, process.cwd(), '')

  return {
    plugins: [vue()],  // 仅保留Vue 2插件
    // 开发服务器配置
    server: {
      port: 5173,  // 开发服务器端口
      open: true,   // 自动打开浏览器
      proxy: {      // API代理
        '/api': {
          target: 'http://localhost:3000',
          changeOrigin: true,
          rewrite: (path) => path.replace(/^\/api/, '')
        }
      },
      headers: {
        'Access-Control-Allow-Origin': '*',
      },
    },

    // 生产构建配置
    build: {
      outDir: 'dist',       // 输出目录
      assetsDir: 'assets',   // 静态资源目录
      minify: 'terser',      // 代码压缩
      sourcemap: false,      // 不生成sourcemap
      terserOptions: {
        compress: {
          drop_console: true // 移除console
        }
      },
      chunkSizeWarningLimit: 2000
    },

    // 路径别名配置
    resolve: {
      alias: {
        '@': path.resolve(__dirname, './src'),
        'vue': 'vue/dist/vue.esm.js',  // Vue 2必要配置
        'assets': path.resolve(__dirname, './src/assets'),
        'components': path.resolve(__dirname, './src/components')
      }
    },

    // 环境变量前缀
    envPrefix: 'VITE_'
  }
})